home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / tool / dolmorph / src / desktop.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-23  |  6.1 KB  |  232 lines

  1. /*===========================================
  2.           DolphMorph(ドルフモーフ)
  3.  
  4.       モーフィング&変形アニメ作成ソフト
  5.  
  6.   モーフィングアルゴリズム: EAST 1994
  7.   インターフェース作成:     松内 良介 1994
  8. ===========================================*/
  9. #define    MODULE_DESKTOP
  10.  
  11. #include <stdio.h>
  12. #include <stdlib.h>
  13. #include <string.h>
  14. #include <winb.h>
  15. #include <te.h>
  16. #include <fntb.h>
  17. #include <gui.h>
  18. #include <ryosuke.h>
  19. #include <usrlib.h>
  20.  
  21. #include "desktop.h"
  22. #include "points.h"
  23. #include "guisub.h"
  24. #include "imstore.h"
  25. #include "morphgo.h"
  26. #include "about.h"
  27. #include "movie.h"
  28. #include "alert.h"
  29. #include "movfile.h"
  30.  
  31. /*--------------------------------------------------------*/
  32. /*                        部品ID                        */
  33. /*--------------------------------------------------------*/
  34.  
  35.     int    idBackDialog = -1 ;
  36.     int    idDesktopSelectiveHyper = -1 ;
  37.     int    idDesktopWinAttachHyper = -1 ;
  38.     int    idDesktopToolAttachHyper = -1 ;
  39.     int    idDesktopDialog = -1 ;
  40.     int    idDesktopMenu = -1 ;
  41.     int    idDesktopMItem_System = -1 ;
  42.     int    idDesktopSystemMenu = -1 ;
  43.     int    idDesktopSystemMenuItem[3] = -1 ;
  44.     int    idDesktopMItem_file = -1 ;
  45.     int    idDesktopFileMenu = -1 ;
  46.     int    idDesktopFileMItem[8] = -1 ;
  47.     int    idDesktopLoadImageMenu = -1 ;
  48.     int    idDesktopLoadImageMItem[4] = -1 ;
  49.     int    idDesktopSaveImageMenu = -1 ;
  50.     int    idDesktopSaveImageMItem[2] = -1 ;
  51.     int    idDesktopMItem_make = -1 ;
  52.     int    idDesktopMakeMenu = -1 ;
  53.     int    idDesktopMakeMItem[4] = -1 ;
  54.     int    idDesktopExitIcon = -1 ;
  55.     int    idDesktopClockMsg = -1 ;
  56.     int    idDesktopAlertHyper = -1 ;
  57.     int    idDesktopSkbIcon = -1 ;
  58.  
  59. /*--------------------------------------------------------*/
  60. /*        デスクトップメニューの選択可/不可を設定        */
  61. /*--------------------------------------------------------*/
  62.  
  63.     void desktop_checkActivity(void)
  64.     {
  65.         void setAct(int id, int flag)
  66.         /* flag:0=可  0以外=不可 */
  67.         {
  68.             if (flag == 0)
  69.                 MTL_resetAtrObj(id, ~MS_INACTIVEL40); // 可
  70.             else
  71.                 MTL_setAtrObj(id, MS_INACTIVEL40);     // 不可
  72.         }
  73.       /* 「マーク画像保存」 */
  74.         setAct(idDesktopSaveImageMItem[0], imstore_checkSaveMarkedImage());
  75.         setAct(idDesktopSaveImageMItem[1], imstore_checkSaveFrameStore());
  76.       /* 「操作点読み込み」メニューの可・不可 */
  77.         setAct(idDesktopFileMItem[2], points_checkLoadPoints());
  78.       /* 「操作点保存」メニューの可・不可 */
  79.         setAct(idDesktopFileMItem[3], points_checkSavePoints());
  80.       /* 「操作点クリア」メニューの可・不可 */
  81.         setAct(idDesktopFileMItem[4], points_checkClearPoints());
  82.       /* 「動画(MOV)保存」の可・不可 */
  83.         setAct(idDesktopFileMItem[6], movfile_checkRec());
  84.       /* 「モーフィング」「変形アニメ」*/
  85.         setAct(idDesktopMakeMItem[0], morphgo_checkExecMorph(0));
  86.         setAct(idDesktopMakeMItem[1], morphgo_checkExecMorph(1));
  87.       /* 「動画再生」 */
  88.         setAct(idDesktopMakeMItem[3], movie_checkPlay());
  89.     }
  90.  
  91. /*--------------------------------------------------------*/
  92. /*                 部品からの呼び出し関数                 */
  93. /*--------------------------------------------------------*/
  94.  
  95.     int    DesktopSystemAboutFunc(void)        /* idDesktopSystemMenuItem[0] */
  96.     {
  97.         about_display();
  98.         return NOERR ;
  99.     }
  100.                             /* idDesktopSystemMenuItem[1],idDesktopExitIcon */
  101.     int    DesktopExitFunc(void)
  102.     {
  103.         if (dispCheckMessage("終了", "DolphMorph を終了します。"
  104.                              "よろしいですか?", "終了") == 0)
  105.             MMI_SetHaltFlag(TRUE);
  106.         return NOERR ;
  107.     }
  108.  
  109.     int    DesktopSkbFunc(void)                    /* idDesktopSkbIcon */
  110.     {
  111.         MMI_DspSkb();
  112.         return NOERR ;
  113.     }
  114.                             /* idDesktopLoadImageMItem[0],[1],[2],[3] */
  115.     int    DesktopFileLoadImageFunc(int kobj, int messId)
  116.     {
  117.         if (kobj == idDesktopLoadImageMItem[0])
  118.             points_loadImage(0);    // 操作点設定ウィンドウのA側へ静止画ロード
  119.         else if (kobj == idDesktopLoadImageMItem[1])
  120.             points_loadImage(1);    // 操作点設定ウィンドウのB側へ静止画ロード
  121.         else if (kobj == idDesktopLoadImageMItem[2])
  122.             imstore_loadToStore(0);
  123.         else if (kobj == idDesktopLoadImageMItem[3])
  124.             imstore_loadToStore(1);
  125.         desktop_checkActivity();
  126.         return NOERR ;
  127.     }
  128.                                     /* idDesktopSaveImageMItem[0],[1] */
  129.     int    DesktopFileSaveImageFunc(int kobj, int messId)
  130.     {
  131.         if (kobj == idDesktopSaveImageMItem[0])
  132.             imstore_saveMarkedImage();
  133.         else if (kobj == idDesktopSaveImageMItem[1])
  134.             imstore_saveFrameStore();
  135.         desktop_checkActivity();
  136.         return NOERR ;
  137.     }
  138.  
  139.     int    DesktopLoadPointsFunc(void)            /* idDesktopFileMItem[2] */
  140.     {
  141.         points_loadPoints();
  142.         desktop_checkActivity();
  143.         return NOERR ;
  144.     }
  145.  
  146.     int    DesktopSavePointsFunc(void)            /* idDesktopFileMItem[3] */
  147.     {
  148.         points_savePoints();
  149.         desktop_checkActivity();
  150.         return NOERR ;
  151.     }
  152.  
  153.     int    DesktopClearPointsFunc(void)        /* idDesktopFileMItem[4] */
  154.     {
  155.         points_clearPoints();
  156.         desktop_checkActivity();
  157.         return NOERR ;
  158.     }
  159.  
  160.     int    DesktopFileMovieLoadFunc(void)        /* idDesktopFileMItem[4] */
  161.     {
  162.         return NOERR ;
  163.     }
  164.  
  165.     /*    initDataZDESKTOP:idDesktopFileMItem[6]:MJ_MITEML40の呼び出し関数    */
  166.     int    DesktopMovSaveFunc(kobj, messId, argc, pev, trigger)
  167.     int        kobj ;
  168.     int        messId ;
  169.     int        argc ;
  170.     EVENT    *pev ;
  171.     int        trigger ;
  172.     {
  173.         movfile_rec();
  174.         desktop_checkActivity();
  175.         return NOERR ;
  176.     }
  177.  
  178.     /*    initDataZDESKTOP:idDesktopFileMItem[7]:MJ_MITEML40の呼び出し関数    */
  179.     int    DesktopMovPlayFunc(kobj, messId, argc, pev, trigger)
  180.     int        kobj ;
  181.     int        messId ;
  182.     int        argc ;
  183.     EVENT    *pev ;
  184.     int        trigger ;
  185.     {
  186.         movfile_play();
  187.         desktop_checkActivity();
  188.         return NOERR ;
  189.     }
  190.  
  191.     #if 0
  192.         /* idDesktopFileMItem[5] */
  193.         int    DesktopFileMovieSaveFunc(kobj, messId, argc, pev, trigger)
  194.         int        kobj ;
  195.         int        messId ;
  196.         int        argc ;
  197.         EVENT    *pev ;
  198.         int        trigger ;
  199.         {
  200.             imstore_saveFrameStoreAsMovieFile();
  201.             return NOERR ;
  202.         }
  203.     #endif
  204.  
  205.     int    DesktopMakeMorphFunc(void)        /* idDesktopMakeMItem[0] */
  206.     {
  207.         morphgo_execMorph(0);
  208.         desktop_checkActivity();
  209.         return NOERR ;
  210.     }
  211.  
  212.     int    DesktopMakeTransformFunc(void)        /* idDesktopMakeMItem[1] */
  213.     {
  214.         morphgo_execMorph(1);
  215.         desktop_checkActivity();
  216.         return NOERR ;
  217.     }
  218.  
  219.     int    DesktopMoviePlayFunc(void)        /* idDesktopMovieMItem[0] */
  220.     {
  221.         movie_play();
  222.         desktop_checkActivity();
  223.         return NOERR ;
  224.     }
  225.  
  226.     int    DesktopOtherInfoFunc(void)        /* idDesktopOtherMItem[0] */
  227.     {
  228.         return NOERR ;
  229.     }
  230.  
  231. /* [end] */
  232.